package com.xiaotu.service.redission;

/**
 * @author zhangxiao
 * @create 2021-08-31 13:28
 */
public interface RedissionService {

    /**
     * 校验当前手机号的 安卓设备ID 是否需要通知被挤出的用户
     *
     * @param phone           手机号
     * @param androidDeviceId 新的安卓设备ID
     */
    boolean validPhoneAndroidDeviceIdNotice(String phone, String androidDeviceId);

    /**
     * 设置当前手机号的 安卓设备ID
     *
     * @param phone           手机号
     * @param androidDeviceId 新的安卓设备ID
     */
    void setPhoneAndroidDeviceId(String phone, String androidDeviceId);

    /**
     * 设置当前手机号的 token 的有效期
     *
     * @param phone    手机号
     * @param newToken 新的token
     */
    void setPhoneToken(String phone, String newToken);

    /**
     * 校验当前手机号 token 是否有效
     *
     * @param phone    手机号
     * @param oldToken 旧的token
     * @return
     */
    boolean validPhoneToken(String phone, String oldToken);

    /**
     * 设置刷新昵称的有效期
     *
     * @param playerId 玩家ID
     */
    void setNickNameEffectiveTime(Integer playerId);

    /**
     * 校验是否可以进行昵称修改
     *
     * @param playerId 玩家ID
     * @return
     */
    boolean validNickNameEffective(Integer playerId);

}
